Skip to content

Commit 98614b3

Browse files
authored
Update to support metadata service v3 (#33)
Resolved #11
1 parent a22f388 commit 98614b3

40 files changed

+1221
-392
lines changed

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,13 @@ jar {
149149
}
150150
}
151151
```
152-
152+
- If Fido2StarterDemoApplication doesn't work well, try commenting on this part in build.gradle.
153+
```groovy
154+
task dockerBuild() {
155+
jar.enabled = false
156+
dependsOn(bootJar)
157+
}
158+
```
153159
## API Guides
154160
After running the applications, you can view API guide documents at the link below.
155161

build.gradle

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
/*
2-
* Copyright (c) 2018 LINE Corporation. All rights reserved.
3-
* LINE Corporation PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
415
*/
516

617
group 'com.linecorp.line.auth.fido.fido2'

common/build.gradle

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
/*
2-
* Copyright (c) 2018 LINE Corporation. All rights reserved.
3-
* LINE Corporation PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
415
*/
516

617
plugins {
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3;
18+
19+
import com.linecorp.line.auth.fido.fido2.common.PublicKeyCredentialParameters;
20+
import lombok.Data;
21+
22+
import java.math.BigInteger;
23+
import java.util.List;
24+
import java.util.Map;
25+
26+
@Data
27+
public class AuthenticatorGetInfo {
28+
private List<String> versions;
29+
private List<String> extensions;
30+
private String aaguid;
31+
private Map options;
32+
private BigInteger maxMsgSize;
33+
34+
private List<Long> pinUvAuthProtocols;
35+
private BigInteger maxCredentialCountInList;
36+
private BigInteger maxCredentialIdLength;
37+
private List<String> transports;
38+
private List<PublicKeyCredentialParameters> algorithms;
39+
40+
private BigInteger maxSerializedLargeBlobArray;
41+
private Boolean forcePINChange;
42+
private BigInteger minPINLength;
43+
private BigInteger firmwareVersion;
44+
private BigInteger maxCredBlobLength;
45+
46+
private BigInteger maxRPIDsForSetMinPINLength;
47+
private BigInteger preferredPlatformUvAttempts;
48+
private BigInteger uvModality;
49+
private Map certifications;
50+
private BigInteger remainingDiscoverableCredentials;
51+
52+
private List<BigInteger> vendorPrototypeConfigCommands;
53+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3;
18+
19+
public enum AuthenticatorStatus {
20+
NOT_FIDO_CERTIFIED,
21+
FIDO_CERTIFIED,
22+
USER_VERIFICATION_BYPASS,
23+
ATTESTATION_KEY_COMPROMISE,
24+
USER_KEY_REMOTE_COMPROMISE,
25+
USER_KEY_PHYSICAL_COMPROMISE,
26+
UPDATE_AVAILABLE,
27+
REVOKED,
28+
SELF_ASSERTION_SUBMITTED,
29+
FIDO_CERTIFIED_L1,
30+
FIDO_CERTIFIED_L1plus,
31+
FIDO_CERTIFIED_L2,
32+
FIDO_CERTIFIED_L2plus,
33+
FIDO_CERTIFIED_L3,
34+
FIDO_CERTIFIED_L3plus
35+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3;
18+
19+
import lombok.Data;
20+
21+
import java.util.List;
22+
@Data
23+
public class MetadataBLOBPayload {
24+
private String legalHeader;
25+
private Long no;
26+
private String nextUpdate;
27+
private List<MetadataBLOBPayloadEntry> entries;
28+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3;
18+
19+
import com.linecorp.line.auth.fido.fido2.common.mdsv3.metadata.BiometricStatusReport;
20+
import com.linecorp.line.auth.fido.fido2.common.mdsv3.metadata.MetadataStatement;
21+
import lombok.Data;
22+
23+
import java.util.List;
24+
25+
@Data
26+
public class MetadataBLOBPayloadEntry {
27+
private String aaid;
28+
private String aaguid;
29+
private List<String> attestationCertificateKeyIdentifiers;
30+
private MetadataStatement metadataStatement;
31+
private List<BiometricStatusReport> biometricStatusReports;
32+
33+
private List<StatusReport> statusReports;
34+
private String timeOfLastStatusChange;
35+
private String rogueListURL;
36+
private StringBuilder rogueListHash;
37+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3;
18+
19+
import lombok.Data;
20+
21+
@Data
22+
public class StatusReport {
23+
private AuthenticatorStatus status;
24+
private Long authenticatorVersion;
25+
private String effectiveDate;
26+
private String certificate;
27+
private String url;
28+
private String certificationDescriptor;
29+
private String certificateNumber;
30+
private String certificationPolicyVersion;
31+
private String certificationRequirementsVersion;
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3.metadata;
18+
19+
import lombok.AllArgsConstructor;
20+
import lombok.Data;
21+
import lombok.NoArgsConstructor;
22+
23+
@Data
24+
@AllArgsConstructor
25+
@NoArgsConstructor
26+
public class BiometricAccuracyDescriptor {
27+
private Double selfAttestedFRR;
28+
private Double selfAttestedFAR;
29+
private Integer maxTemplates;
30+
private Integer maxRetries;
31+
private Integer blockSlowdown;
32+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright 2022 LINE Corporation
3+
*
4+
* LINE Corporation licenses this file to you under the Apache License,
5+
* version 2.0 (the "License"); you may not use this file except in compliance
6+
* with the License. You may obtain a copy of the License at:
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations
14+
* under the License.
15+
*/
16+
17+
package com.linecorp.line.auth.fido.fido2.common.mdsv3.metadata;
18+
19+
import lombok.Data;
20+
21+
@Data
22+
public class BiometricStatusReport {
23+
Integer certLevel;
24+
String modality;
25+
String effectiveDate;
26+
String certificationDescriptor;
27+
String certificateNumber;
28+
String certificationPolicyVersion;
29+
String certificationRequirementsVersion;
30+
}

0 commit comments

Comments
 (0)