本文整理了Java中org.bouncycastle.asn1.x509.GeneralName.<init>()
方法的一些代码示例,展示了GeneralName.<init>()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GeneralName.<init>()
方法的具体详情如下:
包路径:org.bouncycastle.asn1.x509.GeneralName
类名称:GeneralName
方法名:<init>
[英]Create a GeneralName for the given tag from the passed in String.
This constructor can handle:
Note: A directory name can be encoded in different ways into a byte representation. Be aware of this if the byte representation is used for comparing results.
[中]从传入的字符串中为给定标记创建GeneralName。
此构造函数可以处理:
*RFC822名称
*IP地址
*目录名
*dNSName
*统一资源标识符
*登记者
对于x400Address、otherName和ePartyName,没有定义通用字符串格式。
注意:目录名可以以不同的方式编码到字节表示中。如果字节表示用于比较结果,请注意这一点。
代码示例来源:origin: apache/geode
private static GeneralName dnsGeneralName(String name) {
return new GeneralName(GeneralName.dNSName, name);
}
代码示例来源:origin: JZ-Darkal/AndroidHttpCapture
public void addIpAddress(String ipAddress) {
sans.add(new GeneralName(GeneralName.iPAddress, ipAddress));
}
代码示例来源:origin: JZ-Darkal/AndroidHttpCapture
public void addDomainName(String subjectAlternativeName) {
sans.add(new GeneralName(GeneralName.dNSName, subjectAlternativeName));
}
代码示例来源:origin: JZ-Darkal/AndroidHttpCapture
private ASN1Encodable parseGeneralName(List<?> nameEntry) {
if (nameEntry == null || nameEntry.size() != 2) {
throw new IllegalArgumentException(nameEntry != null ? String.valueOf(nameEntry) : "nameEntry is null");
}
String tag = String.valueOf(nameEntry.get(0));
Matcher m = TAGS_PATTERN.matcher(tag);
if (m.matches()) {
return new GeneralName(Integer.valueOf(tag),
String.valueOf(nameEntry.get(1)));
}
throw new IllegalArgumentException(String.valueOf(nameEntry));
}
}
代码示例来源:origin: JZ-Darkal/AndroidHttpCapture
/**
* Converts a list of domain name Subject Alternative Names into ASN1Encodable GeneralNames objects, for use with
* the Bouncy Castle certificate builder.
*
* @param subjectAlternativeNames domain name SANs to convert
* @return a GeneralNames instance that includes the specifie dsubjectAlternativeNames as DNS name fields
*/
private static GeneralNames getDomainNameSANsAsASN1Encodable(List<String> subjectAlternativeNames) {
List<GeneralName> encodedSANs = new ArrayList<>(subjectAlternativeNames.size());
for (String subjectAlternativeName : subjectAlternativeNames) {
// IP addresses use the IP Address tag instead of the DNS Name tag in the SAN list
boolean isIpAddress = InetAddresses.isInetAddress(subjectAlternativeName);
GeneralName generalName = new GeneralName(isIpAddress ? GeneralName.iPAddress : GeneralName.dNSName, subjectAlternativeName);
encodedSANs.add(generalName);
}
return new GeneralNames(encodedSANs.toArray(new GeneralName[encodedSANs.size()]));
}
代码示例来源:origin: apache/geode
private static GeneralName ipGeneralName(InetAddress hostAddress) {
return new GeneralName(GeneralName.iPAddress,
new DEROctetString(hostAddress.getAddress()));
}
代码示例来源:origin: apache/kafka
public CertificateBuilder sanDnsName(String hostName) throws IOException {
subjectAltName = new GeneralNames(new GeneralName(GeneralName.dNSName, hostName)).getEncoded();
return this;
}
代码示例来源:origin: neo4j/neo4j
public void createSelfSignedCertificate( File certificatePath, File privateKeyPath, String hostName )
throws GeneralSecurityException, IOException, OperatorCreationException
{
installCleanupHook( certificatePath, privateKeyPath );
KeyPairGenerator keyGen = KeyPairGenerator.getInstance( DEFAULT_ENCRYPTION );
keyGen.initialize( 2048, random );
KeyPair keypair = keyGen.generateKeyPair();
// Prepare the information required for generating an X.509 certificate.
X500Name owner = new X500Name( "CN=" + hostName );
X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(
owner, new BigInteger( 64, random ), NOT_BEFORE, NOT_AFTER, owner, keypair.getPublic() );
// Subject alternative name (part of SNI extension, used for hostname verification)
GeneralNames subjectAlternativeName = new GeneralNames( new GeneralName( GeneralName.dNSName, hostName ) );
builder.addExtension( Extension.subjectAlternativeName, false, subjectAlternativeName );
PrivateKey privateKey = keypair.getPrivate();
ContentSigner signer = new JcaContentSignerBuilder( "SHA512WithRSAEncryption" ).build( privateKey );
X509CertificateHolder certHolder = builder.build( signer );
X509Certificate cert = new JcaX509CertificateConverter().setProvider( PROVIDER ).getCertificate( certHolder );
//check so that cert is valid
cert.verify( keypair.getPublic() );
//write to disk
writePem( "CERTIFICATE", cert.getEncoded(), certificatePath );
writePem( "PRIVATE KEY", privateKey.getEncoded(), privateKeyPath );
// Mark as done so we don't clean up certificates
cleanupRequired = false;
}
代码示例来源:origin: apache/nifi
public static Extensions createDomainAlternativeNamesExtensions(String domainAlternativeNames, String requestedDn) throws IOException {
List<GeneralName> namesList = new ArrayList<>();
try {
final String cn = IETFUtils.valueToString(new X500Name(requestedDn).getRDNs(BCStyle.CN)[0].getFirst().getValue());
namesList.add(new GeneralName(GeneralName.dNSName, cn));
} catch (Exception e) {
throw new IOException("Failed to extract CN from request DN: " + requestedDn, e);
}
if (StringUtils.isNotBlank(domainAlternativeNames)) {
for (String alternativeName : domainAlternativeNames.split(",")) {
namesList.add(new GeneralName(GeneralName.dNSName, alternativeName));
}
}
GeneralNames subjectAltNames = new GeneralNames(namesList.toArray(new GeneralName[]{}));
ExtensionsGenerator extGen = new ExtensionsGenerator();
extGen.addExtension(Extension.subjectAlternativeName, false, subjectAltNames);
return extGen.generate();
}
代码示例来源:origin: square/okhttp
? GeneralName.iPAddress
: GeneralName.dNSName;
encodableAltNames[i] = new GeneralName(tag, altName);
代码示例来源:origin: apache/kafka
public CertificateBuilder sanIpAddress(InetAddress hostAddress) throws IOException {
subjectAltName = new GeneralNames(new GeneralName(GeneralName.iPAddress, new DEROctetString(hostAddress.getAddress()))).getEncoded();
return this;
}
代码示例来源:origin: jamesdbloom/mockserver
subjectAlternativeNames.add(new GeneralName(GeneralName.dNSName, domain));
for (String subjectAlternativeNameDomain : subjectAlternativeNameDomains) {
subjectAlternativeNames.add(new GeneralName(GeneralName.dNSName, subjectAlternativeNameDomain));
|| IPAddress.isValidIPv4WithNetmask(subjectAlternativeNameIp)
|| IPAddress.isValidIPv4(subjectAlternativeNameIp)) {
subjectAlternativeNames.add(new GeneralName(GeneralName.iPAddress, subjectAlternativeNameIp));
代码示例来源:origin: apache/zookeeper
/**
* Returns subject alternative names for "localhost".
* @return the subject alternative names for "localhost".
*/
private static GeneralNames getLocalhostSubjectAltNames() throws UnknownHostException {
InetAddress[] localAddresses = InetAddress.getAllByName("localhost");
GeneralName[] generalNames = new GeneralName[localAddresses.length + 1];
for (int i = 0; i < localAddresses.length; i++) {
generalNames[i] = new GeneralName(GeneralName.iPAddress, new DEROctetString(localAddresses[i].getAddress()));
}
generalNames[generalNames.length - 1] = new GeneralName(GeneralName.dNSName, new DERIA5String("localhost"));
return new GeneralNames(generalNames);
}
代码示例来源:origin: igniterealtime/Openfire
protected static GeneralNames getSubjectAlternativeNames( Set<String> sanDnsNames )
{
final ASN1EncodableVector subjectAlternativeNames = new ASN1EncodableVector();
if ( sanDnsNames != null )
{
for ( final String dnsNameValue : sanDnsNames )
{
subjectAlternativeNames.add(
new GeneralName( GeneralName.dNSName, dnsNameValue )
);
}
}
return GeneralNames.getInstance(
new DERSequence( subjectAlternativeNames )
);
}
代码示例来源:origin: apache/zookeeper
private X509Certificate[] createSelfSignedCertifcateChain(String ipAddress, String hostname) throws Exception {
X500NameBuilder nameBuilder = new X500NameBuilder(BCStyle.INSTANCE);
nameBuilder.addRDN(BCStyle.CN, "NOT_LOCALHOST");
Date notBefore = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(notBefore);
cal.add(Calendar.YEAR, 1);
Date notAfter = cal.getTime();
BigInteger serialNumber = new BigInteger(128, new Random());
X509v3CertificateBuilder certificateBuilder =
new JcaX509v3CertificateBuilder(nameBuilder.build(), serialNumber, notBefore, notAfter, nameBuilder.build(), keyPair.getPublic())
.addExtension(Extension.basicConstraints, true, new BasicConstraints(0))
.addExtension(Extension.keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyCertSign | KeyUsage.cRLSign));
List<GeneralName> generalNames = new ArrayList<>();
if (ipAddress != null) {
generalNames.add(new GeneralName(GeneralName.iPAddress, ipAddress));
}
if (hostname != null) {
generalNames.add(new GeneralName(GeneralName.dNSName, hostname));
}
if (!generalNames.isEmpty()) {
certificateBuilder.addExtension(Extension.subjectAlternativeName, true, new GeneralNames(generalNames.toArray(new GeneralName[] {})));
}
ContentSigner contentSigner = new JcaContentSignerBuilder("SHA256WithRSAEncryption").build(keyPair.getPrivate());
return new X509Certificate[] { new JcaX509CertificateConverter().getCertificate(certificateBuilder.build(contentSigner)) };
}
代码示例来源:origin: igniterealtime/Openfire
case 2:
subjectAlternativeNames.add( new GeneralName( GeneralName.dNSName, (String) value ) );
break;
case 6:
subjectAlternativeNames.add( new GeneralName( GeneralName.uniformResourceIdentifier, (String) value ) );
break;
default:
代码示例来源:origin: apache/zookeeper
generalNames.add(new GeneralName(GeneralName.dNSName, hostname));
generalNames.add(new GeneralName(GeneralName.iPAddress, ipAddress));
new GeneralName(GeneralName.uniformResourceIdentifier,"file://" + crlPath)));
certificateBuilder.addExtension(Extension.authorityInfoAccess, false,
new AuthorityInformationAccess(X509ObjectIdentifiers.ocspAccessMethod,
new GeneralName(GeneralName.uniformResourceIdentifier, "http://" + hostname + ":" + ocspPort)));
代码示例来源:origin: hyperledger/fabric-sdk-java
private void addSAN(X509v3CertificateBuilder certBuilder, String san) throws CertIOException {
ASN1Encodable[] subjectAlternativeNames = new ASN1Encodable[]{new GeneralName(GeneralName.dNSName, san)};
certBuilder.addExtension(Extension.subjectAlternativeName, false, new DERSequence(subjectAlternativeNames));
}
代码示例来源:origin: apache/cloudstack
continue;
subjectAlternativeNames.add(new GeneralName(GeneralName.iPAddress, publicIPAddress));
continue;
subjectAlternativeNames.add(new GeneralName(GeneralName.dNSName, dnsName));
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
public IssuerSerial(
GeneralNames issuer,
BigInteger serial)
{
this(issuer, new ASN1Integer(serial));
}
内容来源于网络,如有侵权,请联系作者删除!